package io;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 *  在流链接中使用 PrintWriter
 */
public class PWDemo2 {
    public static void main(String[] args) throws IOException {
        FileOutputStream fos = new FileOutputStream("Bfiles/pw2.txt",true);
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        BufferedWriter bw = new BufferedWriter(osw);
        /**
         *  PrintWriter 提供了可以打开自动行刷新功能的构造器
         *  当一个参数为一个流时,就支持再传入一个 boolean 值,如果该值为 true
         *  则打开了自动行花心,此时每当我们调用一次 println() 方法,就会自动 flush
         */
        PrintWriter pw = new PrintWriter(bw,true);
        /**
         *  完成记事本功能,程序启动后,将用户在控制台输入的每一行字符串都按行写入文件中
         *  当用户单独输入exit 时,程序退出
         */
        Scanner scanner = new Scanner(System.in);
        while (true) {
            String line = scanner.nextLine();
            if ("exit".equals(line)) {
                break;
            }
            pw.println(line);
        }
        System.out.println("再见!");
        pw.close();
    }
}
